// import {useEffect, useRef, useState} from 'react';
// import {
//   Card,
//   notification
// } from 'antd';
// import React from 'react';
// import Chat from 'chat-react';
// import {addChat, queryChat} from "@/pages/PrivateChat/service";
// import {getUrlParam} from "@/utils/ParamUtil";
// import {queryById} from "@/pages/UserInfo/service";
// import {connectChat} from '@/utils/ChatServer';
//
// const UserChat: React.FC = () => {
//
//   const [currentUser, setCurrentUser] = useState(window.top.user);
//   const [objUser, setObjUser] = useState(null);
//   const [inputValue, setInputValue] = useState('');
//   const [messages, setMessages] = useState([]);
//   const [timestamp, setTimestamp] = useState(new Date().getTime());
//   const [loading, setLoading] = useState(true);
//   let chat = useRef();
//
//   useEffect(() => {
//     getData();
//     let inputDom = document.getElementsByClassName('chat-input-wrapper')[0];
//     inputDom.style.width = '90%';
//     inputDom.style.left = '5%';
//     inputDom.style.backgroundColor = 'transparent';
//     document.getElementsByClassName('massage-container')[0].style.padding = '0 1% 0 1%';
//   }, [])
//
//   const connectServer = () => {
//     if (!window.chatServer){
//       connectChat(currentUser.loginName);
//     }
//     window.chatServer.onmessage = msg => {
//       const { data } = msg;
//       if (data == null || data == '' || data.indexOf('连接成功') > -1){
//         return;
//       }
//       messages.push({
//         timestamp: new Date().getTime(),
//         userInfo: {
//           avatar: objUser.avatar,
//           name: objUser.loginName,
//           userId: objUser.id
//         },
//         value: data.split('|')[0].split('：')[1].split('&')[0]
//       })
//       setMessages(messages);
//       setTimestamp(new Date().getTime());
//       setInputValue('');
//     }
//   };
//
//   const getData = () => {
//     const id = getUrlParam(window.location.href, 'id');
//     queryChat(
//       { sendId: id, receiveId: currentUser.id }
//     ).then(res => {
//       let msg = new Array();
//       if (res.status == 200){
//         queryById({ id: id }).then(u => {
//           if (u && u.id) {
//             setObjUser(u)
//             msg.push({
//               timestamp: new Date().getTime(),
//               userInfo: {
//                 avatar: u.avatar,
//                 name: u.loginName,
//                 userId: u.id
//               },
//               value: "hi(*^▽^*)【自动回复】"
//             })
//             connectServer();
//           }
//         })
//         console.log(res.data);
//         if (res.data.length > 0){
//           setMessages([...res.data]);
//           setLoading(false);
//         }else {
//           setMessages(msg);
//           setLoading(false);
//         }
//       }
//     })
//   };
//
//   const setInputFocus = () => {
//     this.chat.refs.input.inputFocus();
//   };
//
//   const setScrollTop = () => {
//     this.chat.refs.message.setScrollTop(1200);
//   };
//
//   const sendMessage = (v) => {
//     const { value, userInfo } = v;
//     if (!value || value == "\n") return;
//     if (value.length > 66){
//       notification.warning({
//         message: '消息长度超出限制！'
//       });
//       return;
//     }
//     messages.push(v);
//     const id = getUrlParam(window.location.href, 'id');
//     addChat({
//       sendId: userInfo.userId,
//       receiveId: id,
//       time: new Date().getTime(),
//       content: value.replace(/\r|\n/ig,""),
//       visible: 1
//     })
//     if (!window.chatServer){
//       connectChat(currentUser.loginName);
//     }
//     window.chatServer.send(`chat-<span style="color: #7dd4b8">${currentUser.loginName}</span> 给您发送了一条私信：${value}|${objUser.loginName}`);
//     setMessages(messages);
//     setTimestamp(new Date().getTime());
//     setInputValue('');
//   };
//
//   const toUserInfo = e => {
//     if (e){
//       window.open('/userInfo?id=' + e.userId, '_blank');
//     }
//   };
//
//   const userInfo = {
//     avatar: currentUser.avatar,
//     userId: currentUser.id,
//     name: currentUser.loginName
//   };
//
//   const customEmoticon = [
//     {text: '鸡你太美', url: 'http://ww1.sinaimg.cn/large/9150e4e5gy1g3or00xh6sj20k00k0mxk.jpg'},
//     {text: '唱跳rap', url: 'https://inews.gtimg.com/newsapp_bt/0/9182598337/1000'},
//     {text: '鸡1', url: 'http://inews.gtimg.com/newsapp_match/0/9182598373/0'},
//     {text: '鸡2', url: 'http://5b0988e595225.cdn.sohucs.com/images/20190518/d30820f41ba74be4bfa0f54bcdc35d35.jpeg'},
//     {text: '你好蔡啊', url: 'http://vthumb.ykimg.com/054101015E4AC0D9ADCA61A82E8CE907'},
//     {text: '鸡3', url: 'https://imgs.aixifan.com/content/2019_5_1/1.556725472053741E9.jpeg'}
//   ];
//
//   return (
//     <>
//       <Card bordered={false} style={{ padding: '0 0 0 0' }}>
//         <Chat
//           ref={el => chat = el}
//           loading={loading}
//           className="my-chat-box"
//           dataSource={messages}
//           userInfo={userInfo}
//           value={inputValue}
//           sendMessage={sendMessage}
//           timestamp={timestamp}
//           customEmoticon={customEmoticon}
//           timeFormat='yyyy-MM-dd hh:mm'
//           placeholder="请输入"
//           avatarClick={toUserInfo}
//           messageListStyle={{width: '100%'}}
//         />
//       </Card>
//     </>
//   )
// }
// export default UserChat;
